﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;

namespace ShivamEMR.Model.Domain.AccountsDomain
{
   public class Account
    {

        #region Properties
        public Guid ID { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public DateTime OpeningDate { get; set; }
        public string Notes { get; set; } 
        #endregion

        #region ForeignKeyProperties
        public int AccountGroupID { get; set; }
        public int AccountTypeID { get; set; }
        public int AccountNatureID { get; set; } 
        public int AccountStatusID { get; set; }      
        #endregion

        #region NavigationalProperties
       [ForeignKey("AccountGroupID")]
        public virtual AccountGroup Group { get; set; }
       [ForeignKey("AccountTypeID")]
       public virtual AccountType AccountType { get; set; }
       [ForeignKey("AccountNatureID")]
       public virtual AccountNature AccountNature { get; set; }
       [ForeignKey("AccountStatusID")]
        public virtual AccountStatus Status { get; set; }
        public virtual AccountBalance OpeningBalance { get; set; }
        public virtual AccountBalance Balance { get; set; }
        public virtual ICollection<Tax> Taxes { get; set; }
       // public virtual ICollection<AccountsVoucher> Vouchers { get; set; }
        public virtual ICollection<TaxInformation> TaxInformations { get; set; }
        #endregion
        





    }
}
